专题研究N2201:Vitalik关注的人(项目)之三十二Alex Beregszaszi
专题研究N2201:VITALIK关注的人(项目)之三十二Alex Beregszaszi
按:VITALIK是以太坊区块链的创始人、精神领袖,年纪轻,入行早,理论水平高;人以群分,物以类聚;能被VITALIK在推特上关注的人,现在也只有三百余人;在今年早期,VITALIK曾经在推特上公开回答问题,也只是针对他关注的数百人开放;可见,他关注的人都是他欣赏、认可的人;故此,做个VITALIK关注的人专题,也是从区块链精英维度来了解他们对区块链和加密经济认知、观点的一个重要和精华的部分;个人觉得十分有意义。(当然这些人里面肯定有在我前期研究过的两千多个专题中的,就不再重复),此志。
Alex Beregszaszi ≈ axic.eth,
@alexberegszaszi,
Coffee & EVM nerd.
@teamipsilon
lead & @solidity_lang
co-lead @ Ethereum Foundation.
🐼᠁🦇🔊
🇪🇺,axic.xyz,
2010年4月 加入,
687 正在关注,
5,514 关注者,
那里有很好的机器人。https://twitter.com/coinfessions/status/1546555240161447937,(我运行了一堆看起来像 CT 帐户的 Twitter 帐户机器人。当我找到一个发布实际 alpha 的帐户时,我会使用它们自动喜欢来自该帐户的推文。我的目标是给发帖者更多的多巴胺,以便他们继续发帖。)
上午8:28 · 2022年7月14日
谁愿意帮助这个 EIP 打气?优化这个片段!twitter.com/_hrkrshnn/stat,下午11:26 · 2022年7月13日
定点算术是过去几年中最广泛要求的可靠特性。
我们 ( @alexberegszaszi
, @chfast
) 提出了操作码 muldiv ( https://eips.ethereum.org/EIPS/eip-5000 ),这将使我们能够以一种廉价且通用的方式来执行这些操作,甚至更多!https://twitter.com/_hrkrshnn/status/1547235200048013313
EVM 琐事:在 EVM 内存成本不再是线性之后,以字节为单位的截止值是多少?
下午6:13 · 2022年7月13日
Wen @letsraave
NFT 门票而不是 Eventbrite?
所以看来#WittyCreatures是从@0xliscon
回来的。
发现于#ETHBarcelona,
@witnet_io
can you confirm?
您最喜欢的 EVM 功能是什么?
而你最讨厌的?
是时候解释这是在做什么了👇
TLDR:受控精确燃气燃烧。
BLAKE2“F 函数”预编译采用 32 位参数作为轮数,每轮需要 1 个气体,例如,可以在此处指定任何数字,这将是消耗的气体量。
需要考虑呼叫准备开销。
但是有没有更好的方法来“烧煤气”呢?
是的,计算上最便宜的方法是 INVALID 指令(0xFE) 。
这是一个可读的例子,但更好的例子是调用由单个 0xFE 字节组成的合约。
为什么会有人烧煤气?
某些情况需要最低支出,请参阅此 Flashbots 合同:
不要忘记遵守“63/64 规则”来计算调用中传递的气体。
EVM 琐事:执行单字节 60 的结果是什么?
没有别的,就是这个字节。
既然它很快就解决了……EIP-3670 将摆脱这个怪癖,至少对于新代码是这样。
就其受到的仇恨而言,Solidity 可能仅次于 Javascript。
* 与其各自生态系统的比例。
EVM 中的单独 0x60 字节将导致完全停止,堆栈中保留(不可访问的)值 0。
原因是代码零扩展无界,STOP操作码是0x00字节。
你知道这是在#ethereum All Core Devs (ACD) 调用之前播放的歌曲吗?
去年,我受到围绕 EIP-2535 的所有争论/讨论的启发,想看看如何将它提炼成一个简单的(r)规范。
这里是:https://hackmd.io/@axic/simple-composable-proxy
有人有兴趣设置一个ethercards 2.0吗?适合举办活动和馈赠家人。
EVM 琐事:执行单字节 60 的结果是什么?
没有别的,就是这个字节。既然它很快就解决了……EIP-3670 将摆脱这个怪癖,至少对于新代码是这样。
您是否知道在@CircleCI
上使用“启用 SSH”功能时,您的 IP 地址将在 SSH 登录时被记录(并且公开可见)?
脚步:
1. 运行一个 CircleCI 任务
2. 点击“使用 SSH 重新运行作业”
3. 使用“启用 SSH”步骤中列出的 ssh 地址/端口
4.在“启用SSH”步骤中查看您的IP
我想知道 0.6.12 是否如此受欢迎是因为有针对某些 0.7.x 版本的“审核员建议”,并且 0.8.x 在它之后“迅速”发布。
Starknet 的 Cairo 不是免费的(但至少是开源的)语言。不允许社区(还没有?)改进它。
有 21 个打开的拉取请求。有些自 2021 年 2 月起开放,但没有任何回应。
奇怪的是,开罗几乎只有一个提交者(作者?),每个提交都是一个完整的版本。没有变化列表,没有归属于这些部分。
然后我意识到它正在使用一个名为“Cairo Toolchain License (Source Available)”的自定义许可证。它只允许在 Cairo 程序中使用,但不确定有什么用途:然而可悲的是,StarkWare 以外的其他人只被允许进行错误修复,但除此之外没有任何其他内容:我猜他们选择这条路是为了避免碎片化,但这仍然与该领域其他语言的精神背道而驰。
@StarkWareLtd
请为外部贡献者提供路径。
为什么 DALL-E 为“ethereum rekt”创建一个@poapxyz
? 👀
不知道作者是谁,但是哇。
有人知道在哪里可以买到这个印刷为PCB的吗?
好的!
希望不需要再花 3 年时间来积累足够的资金来跨协议使用。
还记得 EURS 和 TrueEUR 吗?
Searcher,不是针对 MEV,而是针对 NFT
这似乎是“新旧”EVM 语言的月份。
这是 EVM 的新 Common Lisp 语法:
你们中的一些人可能还记得 LLL(Little Lovely Language / Lisp-Like Language)。
它是一种早期的 EVM 语言,存在两种实现:Solidity 代码库中的 C++ 和 Serpent 使用的 Python。
什么是蛇?最初的 Python 式 EVM 语言,被重写为 Viper,然后更名为@vyperlang
。
无论如何,两个版本之间的语义(指令)不同。我在这里收集了一个:
某些时候,Vyper 偏离了 Lisp 语法,从括号移到了方括号。
显然现在他们又回到了 Lisp / S-表达式:github.com/vyperlang/vype,
到 2017 年,Solidity 的实现年久失修,我们花了很多时间来修复@zigguratt
和@benjaminion_xyz
。
它最终以@zigguratt
在 LLL 中编写官方 ENS 解析器:
加上@benjaminion_xyz
创建一个关于 LLL 的完整网站: https://lll-docs.readthedocs.io/en/latest/index.html
你知道以太坊共识测试过去非常依赖 LLL 吗?它仍然有大量使用它的案例。不出所料,当 Solidity 在 0.6.2(2 年前)中放弃 LLL 支持时,测试套件背后的团队并不高兴,但至少他们继续支持 Yul 并且新的测试使用它。无论如何,对于 cl-evasm,h/t @drog_v
。
PS 复兴的另一种“新旧”语言是@huff_language
。
刚刚了解到在@0xPolygon
上有一个特殊的过程来部署(桥接?)ERC20s: https://docs.polygon.technology/docs/develop/advanced/custom-restrictions
这份合同的来源是哪里?它是什么“版本”的 ERC20,它有什么怪癖? 😅
Perhaps these here https://github.com/maticnetwork/contracts/tree/master/contracts ?
熟悉这个吗?现在删除这行代码。此代码是合约中签名验证的一部分,其中特殊合约(“ecrecover 预编译”)采用签名组件(v,r,s)并返回一个地址。
让我们缩短话题,假设在以太坊中,值 27 和 28 对于 v 参数是可以接受的。
各种库(OpenZeppelin 或 solmate)和合约以不同的方式实现此检查。最近出现了一场让支票变得最便宜的竞赛。
昨天遇到了一个很好的解决方案
https://github.com/ProjectOpenSea/seaport/pull/406
这基本上是 256 个值的查找表。
这让我想检查预编译在多大程度上验证了输入。
黄皮书让它看起来好像没有被检查过。
深入研究客户端,结果发现预编译实际上会检查值是 27 还是 28。无需在调用方执行此操作!
为什么这种情况持续了这么久没有引起注意?
一个很好的理由可能是更好的错误报告。
请注意,预编译允许使用高 s 值的签名,但不允许用于交易。如果想避免它,调用者仍然必须验证它。
无论如何,向黄皮书提交了一个修复,也许这有助于澄清它: https://github.com/ethereum/yellowpaper/pull/860
下一步:从库中删除多余的代码。
PS 是否应该有一个支持 EIP-2098 以及执行“高 s 值”(又名延展性)检查的“ecrecover2”预编译?它应该返回公钥吗?PPS 或者我们是否应该直接将 evm384 的继任者 evmmax(evm 模块化算术扩展)排除在外,将这些预编译器编写为 EVM 库?更改已合并到黄皮书:
Solidity 小知识:你知道调整内存引用吗?
这是一种显示编译器使用的特殊内存字段的方法。尝试更改输入参数或执行某些操作以查看它是如何变化的。也可以将其转换为修饰符并使用特殊日志(安全帽控制台或代工厂作弊码)。
立方厘米@brockjelmore,
上午4:21 · 2022年6月7日
为什么@immunefi
上的@gnosisSafe
赏金不涵盖实际的安全合约?
今天的谷歌涂鸦是关于浓缩咖啡机的发明者。程序员的圣日。下午7:16 · 2022年6月6日
去中心化区块链不好,mmkay?
如果您是匿名用户,您是否正确地为您的 github 配置文件使用了单独的 ssh 密钥?
有趣的是看到@aztecnetwork
中的 Huff 复活了。
编译器好像是用Typescript重写的,周围有一堆代码。
This was the original project:有趣的事实:在 EVM384 中,我们编写了一个基于 Huff 的 bls12-381 操作实现。
限制因素是发现人们理解赫夫。
Dapps 的不错的检查工具。也可在impersonator.xyz
有人创造了薛定谔的包裹硬币吗?
拆包时收到的硬币数量是随机的。
需要一些提交/揭示方案来避免玩弄它--还是其中有趣的部分?
虽然我不是最快的(I责备时区),但它很有趣。这是一篇较长的关于如何利用 ERC-721 传输重入的教育文章(带有自包含示例! ):https://hackmd.io/@axic/hatsfina
构造函数也可以从其他组合开始,所以还有一些恶作剧的空间。
@ensdomains
前端似乎与 multisig 或@WalletConnect
不兼容。
更改控制器会尝试触发常规事务,但 WalletConnect 没有显示任何内容。
是因为我在浏览器中也有 EthereumProvider 吗?
所以实际上通过 WalletConnect 记录编辑工作,但更改控制器地址没有。@nicksdjohnson
这是一个已知问题吗?或者我有一个一次性的浏览器错误?
@ensdomains
@ensfrontend
上是否有任何特殊原因要检查帐户余额?
这可以防止@gnosisSafe
多重签名在没有以太币余额时进行注册。
对于“廉价的可重入守卫”来说,这是一个巧妙的技巧,但你的合约将受协议气体变化的支配。
想象一下回滚 EIP-2929 引入的气体减少的破坏性影响。
如果您要这样做,请研磨此地址: https://etherscan.io/address/0x000000000000000000000000000000000000dead
它不属于受限制的代币转移(普通支票是从/到! = 0)并且有更多的钱。
虽然 from/to 可能是另一种触发免费薄荷糖的技巧?
@worthalter
让我发布这个,展示他的分身(又名 Dollar Store Patricio)
这是关于 EOF 的又一次讨论,但也对 EIP-3074 和 MULDIV 提出了质疑!
安全人员,请反馈🤓
幻灯片:axic.github.io/notes/trustx_e
这是一个有趣的小组,但没有足够的时间进入疯狂的细节🤓
协议团队和语言/应用程序开发人员之间存在如此大的脱节。
协议团队不清楚开发人员的需求/需求。协议的挑战和提议对开发人员来说不太明显。
我们如何解决这个问题?
我正在尝试在明天@TheSecureum
之前向 TrustX 的开发人员展示一些即将到来的 EVM 更改/建议。也许这是一个开始。然而,在@EFDevconnect
与很多人交谈后,我的印象是我们需要改进信息流。
@poojaranjan19
的PEEPanEIP 是提供研讨会的一种方式,但是否需要某种更具交互性的平台?
谁来构建 zkSnapshot?一个治理投票平台,投票在 zk 结构中进行,以保护隐私。
如果你有兴趣建造它,请告诉我。
Devconnect 协议研讨会的强制性 EVM 对象格式演示。axic.github.io/notes/devconne
首先我是,哦,这是一个有趣的。但后来意识到这是一个真正的产品,旨在获得 20k 🥸的评论,
不过,对于“emergencyRug”功能来说,工厂中潜在的哈希冲突(+ 代码)看起来很有趣。不过,我猜他们成功地获得了一些粗略的评论,而且是免费的。
好读!还有一个没有坏结局的。
请记住,批准是不好的。我希望许可证能得到更广泛的采用。
此外,我发现使用 Gnosis Safe 很难更改大多数应用程序的批准限制。需要手动制作一个 tx,这很容易出错。
ERC-20 的描述不是很严格,尤其是关于审批。如果使用 transferFrom,大多数代币甚至需要所有者的批准。
WETH9 ( https://etherscan.io/address/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2#code ) 但是没有。这很好,但“不太合规”。
@MartinLundfall
这背后的原因是什么?
@etherscan
Yul 验证何时能得到适当的支持?
关于 Javascript 中的加密/低级编程的一些有趣的琐事。
警告:任何以前处理过此问题的人都会诱发 PTSD。
这是网络钓鱼还是合法的@github
?
我是 2008 年注册的,所以不确定我的入职经历是否适用于今天。
放弃在@github
上解决这个问题。也许是时候点击“阅读全部”了。
Ipsilon 团队的下一级优化工作。
在从 evmone 中挤出大量速度后, @chfast
开始优化 llvm 😆
你是否也鄙视拥有 WETH 和多种方式来支持 Ether 与代币的混乱?
也许 EIP-3074 可以帮助解决它:
@solidity_lang
即将发布的 0.8.10 版本将是第 94 个版本。
Solidity 轮盘赌:第 100 个版本会有什么版本号?
如果用户已经拥有 N-of-M 个其他 POAP,那么@poapxyz
是否有办法允许申请新的 POAP?
即,将参加者 POAP 交给至少去过@EthCC
、 @0xliscon
、 @eth_barcelona
等中的两个的人。也在这里:寻找艺术家来创造最好的参加者徽章。